home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_400 / 428_02 / compress.h < prev    next >
C/C++ Source or Header  |  1994-03-13  |  784b  |  38 lines

  1. /*
  2. ** compress.h
  3. **
  4. ** Pictor, Version 1.51, Copyright (c) 1992-94 SoftCircuits
  5. ** Redistributed by permission.
  6. */
  7.  
  8. #ifndef COMPRESS_H
  9. #define COMPRESS_H
  10.  
  11. #include <stdio.h>     /* for FILE definition */
  12.  
  13. typedef unsigned char BYTE;
  14. typedef unsigned int WORD;
  15.  
  16. typedef struct _NODE {
  17.     BYTE c;        /* character value */
  18.     WORD freq;     /* occurances */
  19.     struct _NODE *child0;  /* bit 0 child node */
  20.     struct _NODE *child1;  /* bit 1 child node */
  21.     struct _NODE *parent;  /* parent node */
  22. } NODE;
  23.  
  24. /* compress.c */
  25. NODE *gettree(FILE *);
  26. WORD writetree(NODE *,BYTE *);
  27. WORD compress(BYTE *,WORD,BYTE *,NODE *);
  28.  
  29. /* uncomp.c */
  30. NODE *readtree(BYTE *);
  31. void uncompress(BYTE *,WORD,BYTE *,NODE *);
  32.  
  33. /* freetree.c */
  34. void freetree(NODE *);
  35.  
  36. #endif
  37.  
  38.